home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Information / CSMP Digest / volume 3 / csmp-digest-v3-092 < prev    next >
Text File  |  1995-12-31  |  38KB  |  1,015 lines

  1. C.S.M.P. Digest             Mon, 10 Apr 95       Volume 3 : Issue 92
  2.  
  3. Today's Topics:
  4.  
  5.         AI & New music option from Apple Computer
  6.         Flicker-Free animation
  7.         OpenResFile() doesn't follow aliases?
  8.         QUICKTIME: codecNothingToBlitErr - what it is it ?
  9.         Question about UPP's
  10.         QuickTime VR Info needed
  11.         TCL classes
  12.         Tool for examining Mac memory usage
  13.  
  14.  
  15.  
  16. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  17. (pottier@clipper.ens.fr).
  18.  
  19. The digest is a collection of article threads from the internet newsgroup
  20. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  21. regularly and want an archive of the discussions.  If you don't know what a
  22. newsgroup is, you probably don't have access to it.  Ask your systems
  23. administrator(s) for details.  If you don't have access to news, you may
  24. still be able to post messages to the group by using a mail server like
  25. anon.penet.fi (mail help@anon.penet.fi for more information).
  26.  
  27. Each issue of the digest contains one or more sets of articles (called
  28. threads), with each set corresponding to a 'discussion' of a particular
  29. subject.  The articles are not edited; all articles included in this digest
  30. are in their original posted form (as received by our news server at
  31. nef.ens.fr).  Article threads are not added to the digest until the last
  32. article added to the thread is at least two weeks old (this is to ensure that
  33. the thread is dead before adding it to the digest).  Article threads that
  34. consist of only one message are generally not included in the digest.
  35.  
  36. The digest is officially distributed by two means, by email and ftp.
  37.  
  38. If you want to receive the digest by mail, send email to listserv@ens.fr
  39. with no subject and one of the following commands as body:
  40.     help                                Sends you a summary of commands
  41.     subscribe csmp-digest Your Name     Adds you to the mailing list
  42.     signoff csmp-digest                 Removes you from the list
  43. Once you have subscribed, you will automatically receive each new
  44. issue as it is created.
  45.  
  46. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  47. Questions related to the ftp site should be directed to
  48. scott.silver@dartmouth.edu.
  49.  
  50. -------------------------------------------------------
  51.  
  52. >From english@primenet.com (Lawson English)
  53. Subject: AI & New music option from Apple Computer
  54. Date: 17 Mar 1995 22:54:04 GMT
  55. Organization: Primenet
  56.  
  57. [ Article crossposted from comp.ai,comp.ai.edu,comp.ai.fuzzy,comp.ai.genetic,comp.ai.neural-nets ]
  58. [ Author was Lawson English ]
  59. [ Posted on 17 Mar 1995 22:48:59 GMT ]
  60.  
  61.  
  62. I've just received the programming manual for Apple's new QuickTime 
  63. Musical Architecture (QMA) and it looks tailor-made for AI music research.
  64.  
  65. (Please note that QMA will work with both dedicated MIDI hardware AND 
  66. with the built-in sound that comes with the Mac).
  67.  
  68. For anyone who isn't familiar with it, the new QuickTime 2.0 video 
  69. software from Apple includes a special musical instruments option on the 
  70. Mac (not Windows). In addition to using the standard MIDI (hardware or 
  71. software synthesizer) files format, which freebie software from Apple will 
  72. automatically convert into paste-able and save-able QuickTime music 
  73. sound-tracks, the QMA format also provides some dramatic extensions over 
  74. the MIDI format. 
  75.  
  76. For instance, instead of allowing 64 half-step pitches, the extended QMA 
  77. format allows fixed point pitches of the form:
  78.  
  79. 00.00-00.ff for 127 half-step pitches
  80.  
  81. and
  82.  
  83. 01.00-7f.00 for 127 half-steps with 256 microtonal increments between 
  84. each semitone.
  85.  
  86.  
  87. As well, "control knobs" for each instrument sythesizer are available for 
  88. software control and both hardware and software sythesizers are supported 
  89. using the same programmatic and graphical user interfaces for both methods.
  90.  
  91. The maximum possible control knobs per instrument is a ludicrous 16,000 
  92. (2^14) with a possible +/- 32,000 values per knob.
  93.  
  94. All of these controls can be used via software-based synthesizers or 
  95. transparently routed to hardware-based MIDI, althouth MIDI only supports a 
  96. subset of what the software does. As well, the QMA architecture allows 
  97. unlimited polyphony (voices) per musical track, whereas MIDI only 
  98. supports 16.
  99.  
  100. Due to political manuevering with Microsoft, QuickTime 2.0 is available 
  101. for free distribution for both Macintosh and Windows platforms. However, 
  102. the QMA option is only available on the Macintosh. Currently, Apple ships 
  103. a file with several dozen musical instrument-patches that are available 
  104. for use within any Macintosh program or QuickTime movie. These patches 
  105. generate the basic MIDI tones for pianos, guitars, sitars, violins, flutes, 
  106. pan-pipes, etc. Apple plans to allow users to create their own 
  107. instrument-patches with a subsequent version of QuickTime. 
  108.  
  109.  
  110. Obviously, such powerful musical synthesizing software will have great 
  111. potential for anyone doing research on music and AI.  Since a QMA music 
  112. file is merely a stream of numbers that is presented to the OS, a neural 
  113. network could be used to generate the pitches, the instrument-choices, 
  114. the control-knob settings, etc, on-the-fly, and then pass this on to the 
  115. QMA portion of the Mac operating system for playback in real-time.
  116.  
  117. The possibilities seem limitless.
  118.  
  119. E-mail me for more info or if you have any citations for AI and music 
  120. that I might find interesting -especially the use of neural-networks for 
  121. composing music.
  122.  
  123.  
  124. Thanks.
  125.  
  126. --
  127. - -----------------------------------------------------------------------------
  128. Lawson English                            __  __     ____  ___       ___ ____
  129. english@primenet.com                     /__)/__) / / / / /_  /\  / /_    /
  130.                                         /   / \  / / / / /__ /  \/ /___  /
  131. - -----------------------------------------------------------------------------
  132.  
  133. --
  134. - -----------------------------------------------------------------------------
  135. Lawson English                            __  __     ____  ___       ___ ____
  136. english@primenet.com                     /__)/__) / / / / /_  /\  / /_    /
  137.                                         /   / \  / / / / /__ /  \/ /___  /
  138. - -----------------------------------------------------------------------------
  139.  
  140. +++++++++++++++++++++++++++
  141.  
  142. >From ajweger@pipeline.com (Alan J. Weger)
  143. Date: 19 Mar 1995 23:45:19 -0500
  144. Organization: The Pipeline
  145.  
  146. On Fri, Mar 17, 1995 10:54:04 PM  at Lawson English wrote: 
  147.  
  148. >I've just received the programming manual for Apple's new QuickTime  
  149. >Musical Architecture (QMA) and it looks tailor-made for AI music research.
  150.  
  151.  
  152. Can you tell me how to obtain this manual? Can it be downloaded?   I just
  153. bought the Inside Mac CD ROM and QMA appears to be excluded. 
  154.  
  155. If you have any email addresses within Apple and APDA, they would also be
  156. appreciated. 
  157.  
  158. Thanks,  
  159. Alan J. Weger 
  160.  
  161. +++++++++++++++++++++++++++
  162.  
  163. >From ajweger@pipeline.com (Alan J. Weger)
  164. Date: 19 Mar 1995 23:45:24 -0500
  165. Organization: The Pipeline
  166.  
  167. On Fri, Mar 17, 1995 10:54:04 PM  at Lawson English wrote: 
  168.  
  169. >I've just received the programming manual for Apple's new QuickTime  
  170. >Musical Architecture (QMA) and it looks tailor-made for AI music research.
  171.  
  172.  
  173. Can you tell me how to obtain this manual? Can it be downloaded?   I just
  174. bought the Inside Mac CD ROM and QMA appears to be excluded. 
  175.  
  176. If you have any email addresses within Apple and APDA, they would also be
  177. appreciated. 
  178.  
  179. Thanks,  
  180. Alan J. Weger 
  181.  
  182. +++++++++++++++++++++++++++
  183.  
  184. >From sandvik@apple.com (Kent Sandvik)
  185. Date: Sat, 25 Mar 1995 18:10:12 -0800
  186. Organization: Apple Computer, Inc. Developer Technical Support
  187.  
  188. In article <3kj194$d6o@pipe6.pipeline.com>, ajweger@pipeline.com (Alan J.
  189. Weger) wrote:
  190.  
  191. > On Fri, Mar 17, 1995 10:54:04 PM  at Lawson English wrote: 
  192. >  
  193. > > 
  194. > >I've just received the programming manual for Apple's new QuickTime  
  195. > >Musical Architecture (QMA) and it looks tailor-made for AI music research.
  196. > > 
  197. >  
  198. > Can you tell me how to obtain this manual? Can it be downloaded?   I just
  199. > bought the Inside Mac CD ROM and QMA appears to be excluded. 
  200. >  
  201. > If you have any email addresses within Apple and APDA, they would also be
  202. > appreciated. 
  203.  
  204. This manual (actually chapter) is part of the Quicktime 2.0 for Mac
  205. document, and this all is part of the QT 2.0 SDK kit from APDA. 
  206.  
  207. APDA info:
  208. APDA (formerely the Apple Programmers and Developers Association) is
  209. Apple's way of providing mail
  210. order access to a variety of developer products. Among the products you
  211. can purchase are the Macintosh
  212. Programmers Workshop (MPW), Developer University self paced courses, and
  213. many third-party development
  214. tools. 
  215.  
  216. APDA
  217. P.O. Box 319
  218. Buffalo, NY 14207-0319
  219. 1-800-282-2732    U.S.
  220. 1-800-637-0029    Canada
  221. (716) 871-6555    International
  222. (716) 871-6511    Fax
  223. AppleLink         APDA
  224. America Online    APDA
  225. CompuServe        76666,2405
  226. Internet          APDA@applelink.apple.com
  227.  
  228.  
  229.  
  230. --Kent
  231.  
  232. -- 
  233. Kent Sandvik   sandvik@apple.com                  Working with Multimedia stuff...
  234. Apple Developer Technical Support.                                     Private activities on Internet.
  235.  
  236. ---------------------------
  237.  
  238. >From Josh Brown <jobrown@peruvian.cs.utah.edu>
  239. Subject: Flicker-Free animation
  240. Date: Tue, 7 Mar 1995 12:18:49 -0700
  241. Organization: University of Utah Computer Science Department
  242.  
  243.  
  244.   I have been designing some animation routines for small blocks of 8 bit 
  245. graphics on my mac. Using BitCopy results in a flicker when things are 
  246. drawn and erased. I have looked at some source code for other people's 
  247. aanimation routines, and it seems that many people use speed optimized 
  248. copy routines. HOWEVER, I don't think that this is the problem. It has 
  249. something to to with synch on the screen, I am sure. I am only drawing a 
  250. feew shapes, and they are small. They draw very fast--in MUCH less than 
  251. 1/60th of a second. The flicker is intermittent.
  252.  
  253.   I know that the screen synch exists, but I don't really know how to 
  254. deal with it to make the graphics look smoothe. Is speed really the main 
  255. consideration? If so, would an optimized drawing routine solve my flicker 
  256. problem?
  257.  
  258. Thanks in advance for your ideas...
  259. please reply to me as well as the newsgroup
  260.  
  261. Josh Brown
  262.  
  263. /-------------------------------------------------\
  264. !                                                 !
  265. !     *   "Monday burn Millay, Wednesday Whitman, !
  266. !   O/     Friday Faulkner, burn 'em to ashes,    !
  267. !  /J      then burn the ashes."                  !
  268. !  / \                                            !
  269. !          jobrown@peruvian.cs.utah.edu           !
  270. !                                                 !
  271. \-------------------------------------------------/
  272.  
  273.  
  274. +++++++++++++++++++++++++++
  275.  
  276. >From ydufourn@turing.imag.fr (Yves Dufournaud)
  277. Date: 8 Mar 1995 13:17:26 GMT
  278. Organization: ufrima
  279.  
  280. >  I know that the screen synch exists, but I don't really know how to 
  281. >deal with it to make the graphics look smoothe. Is speed really the main 
  282. >consideration? If so, would an optimized drawing routine solve my flicker 
  283. >problem?
  284.  
  285. About animation in general, I recently download the mac related doc :
  286. I've found it at ftp.info.apple.com in the apple.support.area
  287. I'don't remenber where exactly but it's something like IM games or whatever.
  288. It has a lot of stuff about animation.
  289.  
  290. -- 
  291.                        -----------------------
  292.  Yves Dufournaud ( Yves.Dufournaud@imag.fr)
  293.  2nd year Magistere of Computer Science, University of Grenoble France
  294.  
  295. +++++++++++++++++++++++++++
  296.  
  297. >From "Andrew C. Plotkin" <ap1i+@andrew.cmu.edu>
  298. Date: Wed,  8 Mar 1995 09:42:01 -0500
  299. Organization: Information Technology Center, Carnegie Mellon, Pittsburgh, PA
  300.  
  301. Excerpts from netnews.comp.sys.mac.programmer.help: 7-Mar-95
  302. Flicker-Free animation Josh Brown@peruvian.cs.u (1353*)
  303.  
  304. >   I have been designing some animation routines for small blocks of 8 bit 
  305. > graphics on my mac. Using BitCopy results in a flicker when things are 
  306. > drawn and erased. I have looked at some source code for other people's 
  307. > aanimation routines, and it seems that many people use speed optimized 
  308. > copy routines. HOWEVER, I don't think that this is the problem. It has 
  309. > something to to with synch on the screen, I am sure. I am only drawing a 
  310. > feew shapes, and they are small. They draw very fast--in MUCH less than 
  311. > 1/60th of a second. The flicker is intermittent.
  312.  
  313. Most likely, the flicker is there because you're doing something
  314. flickery. For example, if you move a sprite by erasing it to the
  315. background color (or image) and then redrawing it in a slightly
  316. different location, you'll get flicker -- no surprise, it's just that
  317. there background color is *there* for a brief time, so it shows up on
  318. the screen sometimes. 
  319.  
  320. Faster blitting routines will reduce this flicker but will never
  321. eliminate it. Screen synchronization may work, but is a pain to write. 
  322.  
  323. What you probably want to do is use an off-screen image to do the work.
  324. For the example above, you might do the following:
  325. - compute the rectangle which is the union of the old position and new position
  326. - copy that rectangle to an off-screen work area
  327. - erase the sprite on the work area
  328. - redraw the sprite in the new position in the work area
  329. - copy the whole rectangle back to the screen.
  330.  
  331. If you have several objects moving, it may be more efficient to work on
  332. a bunch of them at once. Some sprite toolkits keep the entire image
  333. off-screen, do all the work there, and copy the entire thing to the
  334. display every tick. However, that gets slow for large displays. If you
  335. only have a few objects, using the method above for each of them may
  336. work.
  337.  
  338. Alternatively, grab Ingemar's SAT toolkit from Info-Mac and let it worry
  339. about it all.
  340.  
  341. --Z
  342.  
  343. "And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
  344.  
  345. +++++++++++++++++++++++++++
  346.  
  347. >From Gordon Graber <gg4921s@acad.drake.edu>
  348. Date: 8 Mar 1995 16:42:34 GMT
  349. Organization: Drake University
  350.  
  351. In article
  352. <Pine.BSD.3.91.950307121015.23968A-100000@peruvian.cs.utah.edu> Josh
  353. Brown, jobrown@peruvian.cs.utah.edu writes:
  354. >  I know that the screen synch exists, but I don't really know how to
  355. deal with it to make the graphics look smoothe. Is speed really the main
  356. consideration? If so, would an optimized drawing routine solve my flicker
  357. problem?
  358. >...
  359.  
  360. Josh,
  361.   Your best bet is to make sure you are not erasing directly on the
  362. screen.  Do all of your drawing and erasing in an off screen graphics
  363. world, GWorld and then copy the final image from the off screen world to
  364. the main screen.  This will produce the smoothest looking graphics
  365. possible( without resorting to some sort of assembly language booster).  
  366.   Yes, make sure your drawing routines are as tight and as efficient,
  367. processor time wise, as they can be.
  368.   Using the Vertical BLanking interrupt is not necessarily going to gain
  369. you what you need.  It would depend on exactly how much drawing you are
  370. doing.  About the only thing you can accomplish, in regard to your
  371. problem, at VBL interrupt time is to set a flag allowing your program to
  372. determine that an interrupt has occurred.
  373. Because of the restrictions on what can take place in an interrupt
  374. routine, you cannot "perfectly" sync your graphics to the monitors
  375. retrace. Your program would need to check this flag to see if it was time
  376. to draw, i.e. an interrupt occurred, after the fact.
  377.   If you construct your code properly, and have little drawing to
  378. actually do, using this method to sync to the VBL may actually work for
  379. you.
  380.   There are many other issues pertaining to the speed of graphics and
  381. flicker free animation.  You could look for the archives of this group or
  382. comp.sys.mac.programmer for more info.
  383. "I want my flicker free MTV!"
  384. Gordon Graber: gg4921s@acad.drake.edu
  385.  
  386. +++++++++++++++++++++++++++
  387.  
  388. >From ernie@winternet.com (Ernie Soffronoff)
  389. Date: 9 Mar 1995 20:53:36 GMT
  390. Organization: StarNet Communications, Inc
  391.  
  392. I have a question about all this... when computing the rectangle to be 
  393. redrawn, I understand that you want to try to keep your rectangle a 
  394. multiple of n {bits | pixels}.  What's n, and is it bits or pixels, or 
  395. does it matter since bpp is a power of 2?
  396.  
  397. I also vaguely remember that the above didn't matter, if you set 
  398. something to zero (the bit depth of the GWorld?).
  399.  
  400. Help.  My memory is weak on this.
  401.  
  402. --Ernie
  403. ernie@winternet.com
  404.  
  405.  
  406. +++++++++++++++++++++++++++
  407.  
  408. >From dwareing@apanix.apana.org.au (David Wareing)
  409. Date: 13 Mar 1995 08:05:56 GMT
  410. Organization: Apanix Public Access Unix, +61 8 373 5485 (5 lines)
  411.  
  412. kenlong@netcom.com (Ken Long) writes:
  413.  
  414. >Josh Brown (jobrown@peruvian.cs.utah.edu) wrote:
  415.  
  416. >:   I know that the screen synch exists, but I don't really know how to 
  417. >: deal with it to make the graphics look smoothe. Is speed really the main 
  418. >: consideration? If so, would an optimized drawing routine solve my flicker 
  419. >: problem?
  420.  
  421. >You can eliminate all flicker except that in the cursor when it's over 
  422. >your drawing without using a VBL task, by simply drawing to offscreen RAM 
  423. >and shifting that RAM into your screen RAM.  This is called offscreen 
  424. >drawing or "GWorld drawing."
  425.  
  426. You can actually kill the cursor flickering as well, though this seems
  427. to be a more arcane art. I have a scrolling image in my current project,
  428. and it is copied to the screen from a GWorld as soon as soon as I get the
  429. ok from the VBL task.  The cursor can be moved over the (large) animation
  430. *perfectly* smoothly, with absolutely no trace of flicker. This has
  431. something to do with the animation being in the bottom half of the
  432. screen. If the animation is moved up the screen, then cursor 
  433. flickering gradually appears until the cursor is at the top of
  434. the screen, where the flickering is very bad. I haven't worked
  435. out the mechanics of why this is so yet, but it's an interesting
  436. thing to keep in mind.
  437.  
  438. [lots of useful code by Mark Hanrek via Ken Long deleted]
  439.  
  440. --
  441. David Wareing                     dwareing@apanix.apana.org.au
  442. Adelaide, South Australia         
  443. Macintosh Games & Multimedia Programming
  444. - ------------------------------------------------------------
  445. May you live in interesting times
  446.  
  447. +++++++++++++++++++++++++++
  448.  
  449. >From jmunkki@beta.hut.fi (Juri Munkki)
  450. Date: 18 Mar 1995 12:20:12 GMT
  451. Organization: Helsinki University of Technology
  452.  
  453. >kenlong@netcom.com (Ken Long) writes:
  454. >>You can eliminate all flicker except that in the cursor when it's over 
  455. >>your drawing without using a VBL task, by simply drawing to offscreen RAM 
  456. >>and shifting that RAM into your screen RAM.  This is called offscreen 
  457. >>drawing or "GWorld drawing."
  458.  
  459. In article <3k0ud4$3qm@tipellium.apana.org.au> dwareing@apanix.apana.org.au (David Wareing) writes:
  460. >You can actually kill the cursor flickering as well, though this seems
  461. >to be a more arcane art. I have a scrolling image in my current project,
  462. >and it is copied to the screen from a GWorld as soon as soon as I get the
  463. >ok from the VBL task.  The cursor can be moved over the (large) animation
  464.  
  465. CopyBits calls ShieldCursor. ShieldCursor hides the cursor if it is in or
  466. enters the rectangle that is affected. To minimize cursor flicker, you can
  467. call copybits in smaller segments so that the time that the cursor is
  468. shielded is minimized. Of course this will increase overhead.
  469.  
  470. I do not recommend using VBL tasks to reduce flicker, because the task
  471. becomes much more complicated when you are dealing with more than one
  472. monitor. The reason you didn't get cursor flicker when you had the copybits
  473. in the lower area of the screen was that you synchronized with the blanking
  474. and did all of your copying fast enough so that by the time the area where
  475. the cursor was located was shown on the screen, the cursor was no longer
  476. shielded by the CopyBits.
  477.  
  478. When talking about Macs, you can (almost) never say "the screen". Always
  479. assume that there are more than one.
  480.  
  481. -- 
  482. Juri Munkki jmunkki@hut.fi      There ain't no such thing as a shareware lunch.
  483. http://www.hut.fi/~jmunkki              Windsurfing: Faster than the wind.
  484.  
  485. ---------------------------
  486.  
  487. >From slc@atlantis.mak.com (Steve Chamberlin)
  488. Subject: OpenResFile() doesn't follow aliases?
  489. Date: 24 Mar 1995 15:31:12 -0500
  490. Organization: MaK Technologies, Inc.
  491.  
  492. While doing some playing around with my code last night, I discovered
  493. that if I replaced a needed data file with an alias to the file, the
  494. program ceased to work. My program opens this file with OpenResFile()
  495. and reads certain resources out of it that it needs in order to run.
  496. Why didn't the alias work? I can't imagine that I should have to
  497. change my code; I thought aliases were supposed to be handled by the
  498. file system and therefore be transparent to programs and users.
  499.  
  500. I tried using HOpenResFile() and OpenRFPerm(), but these both had the
  501. same problem. It seems that all of these functions actually open the
  502. resource fork of the alias file itself, rather than the file that the
  503. alias is pointing to. How can I change this behavior?
  504.  
  505. --Steve
  506.  
  507. -- 
  508. Steve Chamberlin | slc@mak.com
  509. MaK Technologies | http://www.mak.com/~slc/home.html
  510.  
  511. +++++++++++++++++++++++++++
  512.  
  513. >From David A Lyons <dlyons@apple.com>
  514. Date: Sat, 25 Mar 1995 03:03:05 GMT
  515. Organization: Apple Computer, Inc.
  516.  
  517. In article <3kva6h$alv@atlantis.mak.com> Steve Chamberlin,
  518. slc@atlantis.mak.com writes:
  519. > While doing some playing around with my code last night, I discovered
  520. > that if I replaced a needed data file with an alias to the file, the
  521. > program ceased to work. My program opens this file with OpenResFile()
  522. > and reads certain resources out of it that it needs in order to run.
  523. > Why didn't the alias work? I can't imagine that I should have to
  524. > change my code; I thought aliases were supposed to be handled by the
  525. > file system and therefore be transparent to programs and users.
  526.  
  527. Aliases are supposed to be fairly transparent to users, but not so
  528. much to programmers.  The file system knows nothing about aliases.
  529.  
  530. You need the ResolveAliasFile function, on page 7-52 of IM: Macintosh
  531. Toolbox Essentials (chapter 7, Finder Interface).
  532.  
  533. Dave Lyons
  534. Mr Tangent
  535.  
  536. +++++++++++++++++++++++++++
  537.  
  538. >From shopsinm@panix.com (Shopsin)
  539. Date: Sat, 25 Mar 1995 11:35:03 -0500
  540. Organization: Quill Program
  541.  
  542. OpenResFile is fairly dumb command.  It was designed to work on the
  543. original Mac when no one ever had though of using aliases or even running
  544. multiple apps yet.  In general Apple advises that you call FSOpen first to
  545. find a resource file before calling OpenResFile of FSpOpenResFile to avoid
  546. problems.
  547.  
  548. -- 
  549. Michael Shopsin
  550. shopsinm@panix.com
  551.  
  552. "If it's not on fire then it's a software problem."
  553.  
  554. +++++++++++++++++++++++++++
  555.  
  556. >From Alex Rosen <alex@procd.com>
  557. Date: 27 Mar 1995 16:39:22 GMT
  558. Organization: Pro CD, Inc.
  559.  
  560. In article <3kva6h$alv@atlantis.mak.com> Steve Chamberlin,
  561. slc@atlantis.mak.com writes:
  562. > Why didn't the alias work? I can't imagine that I should have to
  563. > change my code; I thought aliases were supposed to be handled by the
  564. > file system and therefore be transparent to programs and users.
  565.  
  566. I believe the only time aliases get translated for you are when the user
  567. selects a file from any GetFile variation, or when they double-click on
  568. an alias to one of your files. 
  569.  
  570. It is kind of surprising that aliases aren't automatically translated. In
  571. some cases this prevents major problems though, at least with aliases to
  572. folders or disks. Say, for example, that you have hierarchical Apple
  573. menus, so you put an alias of your hard drive in your Apple Menu Items
  574. folder to be able to access anything on your disk. Now an anti-virus
  575. program which hasn't been updated to deal with aliases might get stuck in
  576. a recursive loop when scanning the hard drive. 
  577.  
  578. --Alex
  579.  
  580. ---------------------------
  581.  
  582. >From cho@kenner.demon.co.uk (Chris Orgill)
  583. Subject: QUICKTIME: codecNothingToBlitErr - what it is it ?
  584. Date: Sun, 12 Mar 1995 21:12:44 +0000
  585. Organization: (none)
  586.  
  587. Hi,
  588.  
  589. I'm using ::DrawTrimmedPicture() on a QT-compressed picHandle
  590. created by ::MakeThumbnailFromPictureFile() on a file compressed
  591. using the Photo JPEG codec. The second time it gets called - with
  592. the same arguments - in an update event - the call returns -8976.
  593. (QT 2.0)
  594.  
  595. This is codecNothingToBlitErr according to the latest Errors.h.
  596. This is not documented as a return code for ::DrawTrimmedPicture()
  597. in NIM:QuickTime  and neither is the verb 'to blit', so I am
  598. a bit mystified as to how to handle this error. I don't have
  599. NIM: QT Components, but I shouldn't have to, should I ? :-|
  600.  
  601. Does it mean that nothing had changed, so the codec didn't need
  602. to do any work ? Can I ignore this special case ?
  603.  
  604. Any pointers to where this is documented gratefully accepted.
  605.  
  606. Best,
  607.  
  608. Chris Orgill
  609.  
  610.  
  611.  
  612. +++++++++++++++++++++++++++
  613.  
  614. >From sandvik@apple.com (Kent Sandvik)
  615. Date: Sat, 25 Mar 1995 17:32:59 -0800
  616. Organization: Apple Computer, Inc. Developer Technical Support
  617.  
  618. In article <v01510100ab89113d2be6@[158.152.31.162]>,
  619. cho@kenner.demon.co.uk (Chris Orgill) wrote:
  620.  
  621. > Hi,
  622. > I'm using ::DrawTrimmedPicture() on a QT-compressed picHandle
  623. > created by ::MakeThumbnailFromPictureFile() on a file compressed
  624. > using the Photo JPEG codec. The second time it gets called - with
  625. > the same arguments - in an update event - the call returns -8976.
  626. > (QT 2.0)
  627.  
  628. It's a bug, fixed when you install the Apple MM tuner, the QD low mem
  629. error is not fully cleared in all instances.
  630.  
  631. --Kent
  632.  
  633. -- 
  634. Kent Sandvik   sandvik@apple.com                  Working with Multimedia stuff...
  635. Apple Developer Technical Support.                                     Private activities on Internet.
  636.  
  637. ---------------------------
  638.  
  639. >From David Shortt <wyatt@wyatt.com>
  640. Subject: Question about UPP's
  641. Date: 26 Mar 1995 03:55:58 GMT
  642. Organization: RAIN Public Access Internet (805) 967-RAIN
  643.  
  644. I have a question regarding procedure pointers and UPP's.  I
  645. understand the basic use of UPP's for PPC and 68K code -- my
  646. question is a bit more esoteric.  I have several often-used
  647. call-back functions, so I have declared global UPP variables
  648. for them which I set at program start-up, and I pass those
  649. variables to the appropriate routines (like ModalDialog, for
  650. example). My question is this:  am I guaranteed that my global
  651. UPP's will remain valid throughout the program's execution, even
  652. if, in the case of 68K code, the OS loads and unloads segments?
  653. Do I need to take any special precautions?  To my knowledge
  654. I've never experienced a problem, but I'd like to know.
  655.  
  656. Thanks in advance.
  657.  
  658. Dave Shortt
  659. wyatt@wyatt.com
  660.  
  661.  
  662.  
  663. +++++++++++++++++++++++++++
  664.  
  665. >From hawkfish@halcyon.com (Richard Wesley)
  666. Date: 27 Mar 1995 03:03:40 GMT
  667. Organization: Punch Deck Consulting
  668.  
  669. In article <3l2oke$ikb@news.rain.org>
  670. David Shortt <wyatt@wyatt.com> writes:
  671.  
  672. > I have a question regarding procedure pointers and UPP's.  I
  673. > understand the basic use of UPP's for PPC and 68K code -- my
  674. > question is a bit more esoteric.  I have several often-used
  675. > call-back functions, so I have declared global UPP variables
  676. > for them which I set at program start-up, and I pass those
  677. > variables to the appropriate routines (like ModalDialog, for
  678. > example). My question is this:  am I guaranteed that my global
  679. > UPP's will remain valid throughout the program's execution, even
  680. > if, in the case of 68K code, the OS loads and unloads segments?
  681. > Do I need to take any special precautions?  To my knowledge
  682. > I've never experienced a problem, but I'd like to know.
  683.  
  684. Procedure pointers under 68K are generally jump table references, so if the
  685. segment is unloaded then it will get reloaded.  The only real problem would be
  686. interrupt service routines (e.g. sound callbacks, completion routines and their
  687. ilk).  These need to be locked in memory so that the segment loader will not
  688. get called at interrupt time.  This goes for both emulated 68K on a PPC and
  689. native 68K.
  690.  
  691. I don't believe that PPC has these problems.
  692.  
  693. > Thanks in advance.
  694. > Dave Shortt
  695. > wyatt@wyatt.com
  696.  
  697.  
  698. - rmgw
  699.  
  700. - ------------------------------------------------------------------------------
  701.  
  702. Richard Wesley     hawkfish@halcyon.com | "Oh boy!  Did you forget the plot
  703. Punch Deck Consulting  pnchdeck@aol.com |  _again_?"
  704.      Macintosh Software Development     |    - Rocket J. Squirrel
  705. - ------------------------------------------------------------------------------
  706.  
  707.  
  708. +++++++++++++++++++++++++++
  709.  
  710. >From jwbaxter@olympus.net (John W. Baxter)
  711. Date: Tue, 28 Mar 1995 08:45:30 -0800
  712. Organization: Internet for the Olympic Peninsula
  713.  
  714. In article <3l2oke$ikb@news.rain.org>, David Shortt <wyatt@wyatt.com> wrote:
  715.  
  716. > I have a question regarding procedure pointers and UPP's.  I
  717. > understand the basic use of UPP's for PPC and 68K code -- my
  718. > question is a bit more esoteric.  I have several often-used
  719. > call-back functions, so I have declared global UPP variables
  720. > for them which I set at program start-up, and I pass those
  721. > variables to the appropriate routines (like ModalDialog, for
  722. > example). My question is this:  am I guaranteed that my global
  723. > UPP's will remain valid throughout the program's execution, even
  724. > if, in the case of 68K code, the OS loads and unloads segments?
  725. > Do I need to take any special precautions?  To my knowledge
  726. > I've never experienced a problem, but I'd like to know.
  727.  
  728. Re:  the 68K machines.  For now, the NewxxxProcPtr () "functions" are--on
  729. 68K--macros which reduce to a simple cast.  CFM 68K will change that, but
  730. then the situation will be as for PPC now.
  731.  
  732. Re:  the PPC machines.  The structure pointed to by the result of
  733. NewxxxProcPtr () is allocated via NewPtr ().  It better not move or
  734. disappear (if they start doing that, your code won't get far enough for
  735. your question to matter).
  736.  
  737.    --John
  738.  
  739. -- 
  740. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  741.        Isn't C fun?
  742.    jwbaxter@pt.olympus.net
  743.  
  744. +++++++++++++++++++++++++++
  745.  
  746. >From grobbins@znet.com (Grobbins)
  747. Date: Mon, 27 Mar 1995 09:24:44 -0700
  748. Organization: Skunkworks
  749.  
  750. In article <3l2oke$ikb@news.rain.org>, David Shortt <wyatt@wyatt.com> wrote:
  751.  
  752. >My question is this:  am I guaranteed that my global
  753. >UPP's will remain valid throughout the program's execution, even
  754. >if, in the case of 68K code, the OS loads and unloads segments?
  755.  
  756. Yes, they will remain valid, because 68K Mac software uses jump table
  757. entries rather than actual procedure addresses when creating pointers to
  758. routines, and the jump table never moves. See chapter 7 of Inside Mac:
  759. Processes.
  760.  
  761. Grobbins.                            grobbins@znet.com
  762.  
  763. ---------------------------
  764.  
  765. >From quinlan@kits.sfu.ca (Brian Quinlan)
  766. Subject: QuickTime VR Info needed
  767. Date: 13 Mar 95 00:54:19 GMT
  768. Organization: Simon Fraser University
  769.  
  770. I would like some information about QuickTime VR. I have an programming idea
  771. using this technology but Apple hasn't release it to the masses. I would
  772. like to know what the API is like, when it will be available, what will the
  773. license cost and, more importantly, how can I get hold of it NOW. I heard
  774. that you can get it buy buying the developer CD for $250, is that true?
  775.  
  776. -- 
  777.  
  778. Brian Quinlan
  779. quinlan@sfu.ca
  780.  
  781. +++++++++++++++++++++++++++
  782.  
  783. >From geoffclapp@aol.com (GeoffClapp)
  784. Date: 15 Mar 1995 11:08:55 -0500
  785. Organization: America Online, Inc. (1-800-827-6364)
  786.  
  787. The developer CD is actually $2500. I have some info/demos if you are
  788. interested.
  789.  
  790. +++++++++++++++++++++++++++
  791.  
  792. >From geoffclapp@aol.com (GeoffClapp)
  793. Date: 15 Mar 1995 11:08:55 -0500
  794. Organization: America Online, Inc. (1-800-827-6364)
  795.  
  796. The developer CD is actually $2500. I have some info/demos if you are
  797. interested.
  798.  
  799. +++++++++++++++++++++++++++
  800.  
  801. >From sandvik@apple.com (Kent Sandvik)
  802. Date: Sat, 25 Mar 1995 18:20:19 -0800
  803. Organization: Apple Computer, Inc. Developer Technical Support
  804.  
  805. In article <quinlan.795056059@sfu.ca>, quinlan@kits.sfu.ca (Brian Quinlan)
  806. wrote:
  807.  
  808. > I would like some information about QuickTime VR. I have an programming idea
  809. > using this technology but Apple hasn't release it to the masses. I would
  810. > like to know what the API is like, when it will be available, what will the
  811. > license cost and, more importantly, how can I get hold of it NOW. I heard
  812. > that you can get it buy buying the developer CD for $250, is that true?
  813.  
  814. What I know the tools should be available from APDA shortly, but I've
  815. given up on predicting the exact dates as releasing something might always
  816. get postposed (as I found out when we tried to release the QT 2.0 SDK).
  817. Same is true of pricing, I would wait and see, and something will shortly
  818. be announced. If you have a cool concept, send email to
  819. QUICKTIME.VR@applelink.apple.com, you are then also registered in a
  820. database so Apple could forward you more VR related information.
  821.  
  822. --Kent
  823.  
  824. -- 
  825. Kent Sandvik   sandvik@apple.com                  Working with Multimedia stuff...
  826. Apple Developer Technical Support.                                     Private activities on Internet.
  827.  
  828. ---------------------------
  829.  
  830. >From sterling@clark.net (Sterling)
  831. Subject: TCL classes
  832. Date: 23 Mar 1995 16:32:10 GMT
  833. Organization: Clark Internet Services, Inc., Ellicott City, MD USA
  834.  
  835. Can someone point me towards a repository for TCL classes that
  836. was once stored at ftp.brown.edu?
  837.  
  838. Thanks.
  839.  
  840. --
  841. sterling@clark.net
  842.  
  843.  
  844. +++++++++++++++++++++++++++
  845.  
  846. >From scouten@metrowerks.com (Eric Scouten)
  847. Date: Thu, 23 Mar 1995 13:36:28 -0600
  848. Organization: metrowerks, inc.
  849.  
  850. In article <3ks7qa$8g7@clarknet.clark.net>, sterling@clark.net (Sterling) wrote:
  851.  
  852. > Can someone point me towards a repository for TCL classes that
  853. > was once stored at ftp.brown.edu?
  854.  
  855. It moved to daemon.ncsa.uiuc.edu.
  856.  
  857. -es
  858.  
  859. __________________________________________________________________________
  860. Eric Scouten                                       Constructor Constructor
  861. scouten@metrowerks.com                                     Metrowerks, Inc.
  862.  
  863. Love is a snowmobile racing across the tundra and then suddenly it flips over, pinning you underneath. At night, the ice weasels come.
  864.    -Nietzsche (Groening)
  865.  
  866. +++++++++++++++++++++++++++
  867.  
  868. >From Dan Crevier <dan@rhino.harvard.edu>
  869. Date: 23 Mar 1995 21:09:26 -0500
  870. Organization: Harvard University
  871.  
  872. scouten@metrowerks.com (Eric Scouten) writes:
  873.  
  874. >In article <3ks7qa$8g7@clarknet.clark.net>, sterling@clark.net (Sterling) wrote:
  875.  
  876. >> Can someone point me towards a repository for TCL classes that
  877. >> was once stored at ftp.brown.edu?
  878.  
  879. >It moved to daemon.ncsa.uiuc.edu.
  880.  
  881.         And there's now a WWW index at:
  882.  
  883. http://rhino.harvard.edu/dan/TCLArchive.html
  884.  
  885.         I tried posting something about it earlier today, but it doesn't 
  886. seem to show up.  Maybe I'll try again.
  887.  
  888. Dan
  889.  
  890.  
  891. ---------------------------
  892.  
  893. >From jhorton@utmem1.utmem.edu (Jeff Horton)
  894. Subject: Tool for examining Mac memory usage
  895. Date: Tue, 21 Mar 1995 08:37:51 -0600
  896. Organization: UT Memphis Computing and Telecommunications
  897.  
  898. We are experiencing a problem with an extension that eats up available
  899. memory.  I am trying to find a program that will display detailed memory
  900. allocation information to try and determine the exact problem. Shareware
  901. is preferred, but commercial packages would be OK. 
  902.  
  903. Any response helps-
  904.  
  905. Jeff S. Horton
  906. User Support
  907. University of Tennessee, Memphis
  908.  
  909. jhorton@utmem1.utmem.edu
  910.  
  911. +++++++++++++++++++++++++++
  912.  
  913. >From brandy@benji.Colorado.EDU (BRANDAUER CARL M)
  914. Date: 21 Mar 95 18:46:40 GMT
  915. Organization: University of Colorado at Boulder
  916.  
  917. I found "Memory Mapper" by R. Fronaberger ither on AOL or Compu$erve.
  918.  
  919. Cheers - Carl
  920.  
  921. +++++++++++++++++++++++++++
  922.  
  923. >From gregf@primenet.com (Greg Ferguson)
  924. Date: Wed, 22 Mar 1995 21:23:17 -0700
  925. Organization: Primenet
  926.  
  927. In article <jhorton-2103950837510001@jhorton.utmem.edu>,
  928. jhorton@utmem1.utmem.edu (Jeff Horton) wrote:
  929.  
  930. > We are experiencing a problem with an extension that eats up available
  931. > memory.  I am trying to find a program that will display detailed memory
  932. > allocation information to try and determine the exact problem. Shareware
  933. > is preferred, but commercial packages would be OK. 
  934.  
  935. There are a couple of things that might help.
  936.  
  937. Try turning on the heap scrambling in MacsBug. That might point out where
  938. the extension is doing dumb things.
  939.  
  940. QC by Onyx will put any code through a wringer for memory use and
  941. allocation. We've found some pretty subtle errors in minutes using it.
  942. Actually, it's pretty irritating how quickly it finds errors some times.
  943. :-)
  944.  
  945. Metrowerks has ZoneRanger that can tell a bit about the contents of RAM too.
  946.  
  947. Greg
  948.  
  949. -- 
  950. Greg Ferguson
  951. gregf@primenet.com
  952.  
  953. * Answer hazy, ask again later *
  954.  
  955. +++++++++++++++++++++++++++
  956.  
  957. >From BrianS@pbcomputing.com (Brian Stern)
  958. Date: Thu, 23 Mar 1995 22:18:45 -0600
  959. Organization: OuterNet Connections, Inc.
  960.  
  961. In article <jhorton-2103950837510001@jhorton.utmem.edu>,
  962. jhorton@utmem1.utmem.edu (Jeff Horton) wrote:
  963.  
  964. < We are experiencing a problem with an extension that eats up available
  965. < memory.  I am trying to find a program that will display detailed memory
  966. < allocation information to try and determine the exact problem. Shareware
  967. < is preferred, but commercial packages would be OK. 
  968. < Any response helps-
  969. < Jeff S. Horton
  970. < User Support
  971. < University of Tennessee, Memphis
  972. < jhorton@utmem1.utmem.edu
  973.  
  974. A Macsbug hd (heap display) will give just about as detailed a memory
  975. summary as you might want.
  976.  
  977. ____________________________________________________________________
  978. Brian  Stern  :-{)}                           BrianS@pbcomputing.com
  979. Toolbox commando and Menu bard.             Will FlushCache for Cash
  980.  
  981. +++++++++++++++++++++++++++
  982.  
  983. >From royfran@statcan.ca (Francois Roy)
  984. Date: Thu, 23 Mar 1995 13:00:53 GMT
  985. Organization: Statistics Canada
  986.  
  987. Jeff Horton (jhorton@utmem1.utmem.edu) wrote:
  988. : We are experiencing a problem with an extension that eats up available
  989. : memory.  I am trying to find a program that will display detailed memory
  990. : allocation information to try and determine the exact problem. Shareware
  991. : is preferred, but commercial packages would be OK. 
  992.  
  993.  I have something called "Memory Mapper 1.1.1" by R. Fronabarger, which
  994. draws a map of all the active APPLs and INITs.  It is freeeware.  I got
  995. it on a free diskette as part of a Mac troubleshooting course, but it
  996. should be possible to find it on the net.
  997.  
  998. ---------------------------
  999.  
  1000. End of C.S.M.P. Digest
  1001. **********************
  1002.